home *** CD-ROM | disk | FTP | other *** search
/ The CDPD Public Domain Collection for CDTV 4 / CDPD_IV.bin / e / mailinglists / amigae.0294feb.archive / 000085_donews!crash!rc…et.edu!AMONROE_Sat, 19 Feb 94 10:00:06 PST.msg < prev    next >
Internet Message Format  |  1994-05-26  |  3KB

  1. Received: by bkhouse.cts.com (V1.17-beta/Amiga)
  2.       id <1ve0@bkhouse.cts.com>; Sat, 19 Feb 94 10:00:06 PST
  3. Received: from crash by donews.cts.com with uucp
  4.     (Smail3.1.28.1 #18) id m0pXY6Z-0001xQC; Fri, 18 Feb 94 11:31 EST
  5. Received: from byrd.mu.wvnet.edu by crash.cts.com with smtp
  6.     (Smail3.1.28.1 #18) id m0pXXmb-0000JYC; Fri, 18 Feb 94 08:10 PST
  7. Received: by byrd.mu.wvnet.edu (5.57/Ultrix3.0-C)
  8.     id AA24789; Fri, 18 Feb 94 11:13:26 -0500
  9. Received: From RCBINS/WORKQUEUE by bins00.mu.wvnet.edu
  10.           via Charon-4.0A-VROOM with IPX id 100.940218093513.3808;
  11.           18 Feb 94 11:09:27 +0500
  12. Message-Id: <MAILQUEUE-101.940218093456.448@rcbins.mu.wvnet.edu>
  13. Date:         18 Feb 94 09:34:56 EST
  14. Priority: normal
  15. X-Mailer:     Pegasus Mail v2.3 (R5).
  16. From: "R. Alan Monroe"  <AMONROE@rcbins.mu.wvnet.edu>
  17. To: amigae@bkhouse.cts.com
  18. Subject: Bouncing Lines program
  19.  
  20. Another fun program...
  21.  
  22.  
  23. MODULE 'intuition/intuition'
  24.  
  25.  
  26. OBJECT point
  27.   x
  28.   y
  29.   a
  30.   b
  31. ENDOBJECT
  32.  
  33. DEF old:point
  34. DEF new:point
  35.  
  36.  
  37.  
  38. PROC main()
  39.  
  40. DEF class, count
  41. DEF bouncewin:PTR TO window
  42. DEF dx=3, dy=4, da=5, db=6
  43. DEF port, mes:PTR TO intuimessage
  44.  
  45.  
  46.   old := [100,100,130,130]
  47.   new := [0,0,0,0]
  48.  
  49.   IF bouncewin := OpenW(0,0,200,200,
  50.                        (IDCMP_CLOSEWINDOW),
  51.                        (WFLG_DRAGBAR OR WFLG_DEPTHGADGET OR
  52.                         WFLG_CLOSEGADGET OR WFLG_ACTIVATE),
  53.                        'Bouncing Lines',0,1,0)
  54.  
  55.     port := bouncewin.userport
  56.    /* WriteF('Borderleft   = \d\n', bouncewin.borderleft)
  57.     WriteF('Borderright  = \d\n', bouncewin.borderright) */
  58.  
  59.     IF (mes := GetMsg(port))=NIL
  60.       REPEAT
  61.         IF (old.x+dx>(199-bouncewin.borderright)) OR
  62. (old.x+dx<bouncewin.borderleft) THEN dx := dx * -1
  63.         IF (old.y+dy>(199-bouncewin.borderbottom)) OR
  64. (old.y+dy<bouncewin.bordertop) THEN dy := dy * -1
  65.         IF (old.a+da>(199-bouncewin.borderright)) OR
  66. (old.a+da<bouncewin.borderleft) THEN da := da * -1
  67.         IF (old.b+db>(199-bouncewin.borderbottom)) OR
  68. (old.b+db<bouncewin.bordertop) THEN db := db * -1
  69. /* ^^^^ paste these lines back together my editor screwed them */
  70.         new.x := old.x + dx
  71.         new.y := old.y + dy
  72.         new.a := old.a + da
  73.         new.b := old.b + db
  74.  
  75.         Line(new.x, new.y, new.a, new.b, 1)
  76.         Line(old.x, old.y, old.a, old.b, 0)
  77.  
  78.         old.x := new.x
  79.         old.y := new.y
  80.         old.a := new.a
  81.         old.b := new.b
  82.  
  83.         WaitTOF()
  84.         /*Delay(1)*/
  85.       UNTIL (mes := GetMsg(port))<>NIL
  86.     ENDIF
  87.  
  88.     ReplyMsg(mes)
  89.     CloseW(bouncewin)
  90.  
  91.   ENDIF
  92.  
  93.   CleanUp(0)
  94.  
  95. ENDPROC